<?xml version="1.0" encoding="utf-8"?>
<!--
/**
 * Copyright (c) 2009, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->

<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds.  Do not translate. -->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
    <bool name="config_automatic_brightness_available">true</bool>

    <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_ambientThresholdLevels. The brightening threshold is calculated as
         lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
         the screen brightness is recalculated. See the config_ambientThresholdLevels
         description for how the constraint value is chosen. -->
    <array name="config_ambientBrighteningThresholds">
        <item>5</item>
        <item>5</item>
        <item>10</item>
        <item>30</item>
        <item>100</item>
        <item>400</item>
        <item>600</item>
        <item>1000</item>
    </array>

    <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_ambientThresholdLevels. The darkening threshold is calculated as
         lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
         the screen brightness is recalculated. See the config_ambientThresholdLevels
         description for how the constraint value is chosen. -->
    <array name="config_ambientDarkeningThresholds">
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
    </array>

    <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
         values by calculating the index to use for lookup and then setting the constraint value
         to the corresponding value of the array. The new brightening hysteresis constraint value
         is the n-th element of config_ambientBrighteningThresholds, and the new darkening
         hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
         The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
         condition                       calculated index
         value < level[0]                0
         level[n] <= value < level[n+1]  n+1
         level[MAX] <= value             MAX+1 -->
    <array name="config_ambientThresholdLevels">
        <item>2</item>
        <item>10</item>
        <item>30</item>
        <item>100</item>
        <item>800</item>
        <item>2000</item>
        <item>4000</item>
    </array>

    <!-- Array of desired screen brightness in nits corresponding to the lux values
         in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
         config_screenBrightnessMaximumNits, the display brightness is defined as the measured
         brightness of an all-white image.

         If this is defined then:
            - config_autoBrightnessLcdBacklightValues should not be defined
            - config_screenBrightnessNits must be defined
            - config_screenBrightnessBacklight must be defined

         This array should have size one greater than the size of the config_autoBrightnessLevels
         array. The brightness values must be non-negative and non-decreasing. This must be
         overridden in platform specific overlays -->
    <array name="config_autoBrightnessDisplayValuesNits">
        <item>5</item>
        <item>5</item>
        <item>5</item>
        <item>5</item>
        <item>15</item>
        <item>24</item>
        <item>37</item>
        <item>47</item>
        <item>61</item>
        <item>76</item>
        <item>83</item>
        <item>83</item>
        <item>83</item>
        <item>87</item>
        <item>93</item>
        <item>107</item>
        <item>117</item>
        <item>124</item>
        <item>133</item>
        <item>166</item>
        <item>182</item>
        <item>270</item>
        <item>315</item>
        <item>373</item>
        <item>442</item>
        <item>455</item>
    </array>

    <!-- Array of output values for LCD backlight corresponding to the lux values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
         The brightness values must be between 0 and 255 and be non-decreasing.
         This must be overridden in platform specific overlays -->
    <array name="config_autoBrightnessLcdBacklightValues">
        <item>3</item>
        <item>3</item>
        <item>3</item>
        <item>3</item>
        <item>8</item>
        <item>13</item>
        <item>20</item>
        <item>25</item>
        <item>33</item>
        <item>41</item>
        <item>45</item>
        <item>45</item>
        <item>45</item>
        <item>47</item>
        <item>50</item>
        <item>58</item>
        <item>63</item>
        <item>67</item>
        <item>72</item>
        <item>90</item>
        <item>99</item>
        <item>150</item>
        <item>175</item>
        <item>208</item>
        <item>248</item>
        <item>255</item>
    </array>

    <!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
         The N entries of this array define N + 1 control points as follows:
         (1-based arrays)
         Point 1:            (0, value[1]):             lux <= 0
         Point 2:     (level[1], value[2]):  0        < lux <= level[1]
         Point 3:     (level[2], value[3]):  level[2] < lux <= level[3]
         ...
         Point N+1: (level[N], value[N+1]):  level[N] < lux
         The control points must be strictly increasing.  Each control point
         corresponds to an entry in the brightness backlight values arrays.
         For example, if lux == level[1] (first element of the levels array)
         then the brightness will be determined by value[2] (second element
         of the brightness values array).
         Spline interpolation is used to determine the auto-brightness
         backlight values for lux levels between these control points.
         Must be overridden in platform specific overlays -->
    <array name="config_autoBrightnessLevels">
        <item>1</item>
        <item>2</item>
        <item>4</item>
        <item>5</item>
        <item>8</item>
        <item>13</item>
        <item>17</item>
        <item>21</item>
        <item>26</item>
        <item>30</item>
        <item>34</item>
        <item>39</item>
        <item>60</item>
        <item>140</item>
        <item>310</item>
        <item>400</item>
        <item>500</item>
        <item>600</item>
        <item>1000</item>
        <item>1200</item>
        <item>1500</item>
        <item>2100</item>
        <item>3000</item>
        <item>3500</item>
        <item>4000</item>
    </array>

    <!-- An array describing the screen's backlight values corresponding to the brightness
         values in the config_screenBrightnessNits array. -->
    <array name="config_screenBrightnessBacklight">
        <item>@null</item>
        <item>1</item>
        <item>10</item>
        <item>15</item>
        <item>30</item>
        <item>45</item>
        <item>60</item>
        <item>75</item>
        <item>90</item>
        <item>105</item>
        <item>120</item>
        <item>135</item>
        <item>150</item>
        <item>165</item>
        <item>180</item>
        <item>195</item>
        <item>210</item>
        <item>225</item>
        <item>240</item>
        <item>255</item>
    </array>

    <!-- An array of floats describing the screen brightness in nits corresponding to the backlight
         values in the config_screenBrightnessBacklight array.  On OLED displays these  values
         should be measured with an all white image while the display is in the fully on state.
         Note that this value should *not* reflect the maximum brightness value for any high
         brightness modes but only the maximum brightness value obtainable in a sustainable manner.
         This array should be equal in size to config_screenBrightnessBacklight -->
    <array name="config_screenBrightnessNits">
        <item>@null</item>
        <item>4</item>
        <item>22</item>
        <item>30</item>
        <item>68</item>
        <item>95</item>
        <item>133</item>
        <item>165</item>
        <item>192</item>
        <item>218</item>
        <item>255</item>
        <item>290</item>
        <item>326</item>
        <item>352</item>
        <item>384</item>
        <item>399</item>
        <item>422</item>
        <item>432</item>
        <item>442</item>
        <item>455</item>
    </array>

    <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_screenThresholdLevels. The brightening threshold is calculated as
         screenBrightness * (1.0f + CONSTRAINT_VALUE). When the new screen brightness is higher
         than this threshold, it is applied. See the config_screenThresholdLevels description for
         how the constraint value is chosen. -->
    <array name="config_screenBrighteningThresholds">
        <item>@null</item>
    </array>

   <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_screenThresholdLevels. The darkening threshold is calculated as
         screenBrightness * (1.0f - CONSTRAINT_VALUE). When the new screen brightness is lower than
         this threshold, it is applied. See the config_screenThresholdLevels description for how
         the constraint value is chosen. -->
    <array name="config_screenDarkeningThresholds">
        <item>@null</item>
    </array>

    <!-- Array of screen brightness threshold values. This is used for determining hysteresis
         constraint values by calculating the index to use for lookup and then setting the
         constraint value to the corresponding value of the array. The new brightening hysteresis
         constraint value is the n-th element of config_screenBrighteningThresholds, and the new
         darkening hysteresis constraint value is the n-th element of
         config_screenDarkeningThresholds.

         The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
         condition                       calculated index
         value < level[0]                0
         level[n] <= value < level[n+1]  n+1
         level[MAX] <= value             MAX+1 -->
    <array name="config_screenThresholdLevels">
    </array>

    <!-- The maximum range of gamma adjustment possible using the screen
         auto-brightness adjustment setting. -->
    <fraction name="config_autoBrightnessAdjustmentMaxGamma">100%</fraction>

    <!-- Stability requirements in milliseconds for accepting a new brightness level.  This is used
         for debouncing the light sensor.  Different constants are used to debounce the light sensor
         when adapting to brighter or darker environments.  This parameter controls how quickly
         brightness changes occur in response to an observed change in light level that exceeds the
         hysteresis threshold. -->
    <integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>

    <!-- Fast brightness animation ramp rate in brightness units per second-->
    <integer name="config_brightness_ramp_rate_fast">308</integer>

    <!-- Slow brightness animation ramp rate in brightness units per second-->
    <integer name="config_brightness_ramp_rate_slow">246</integer>

    <!-- Minimum screen brightness setting allowed by power manager.
         The user is forbidden from setting the brightness below this level.
         Equivalent to 1/255. -->
    <item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.00392156862</item>

    <!-- Maximum screen brightness allowed by the power manager.
         The user is forbidden from setting the brightness above this level.  -->
    <item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>

    <!-- Default screen brightness setting
         Must be in the range specified by minimum and maximum.
         Equivalent to 67/255 (default for this device)    -->
    <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.26274509804</item>

    <!-- Whether device supports double tap to wake -->
    <bool name="config_supportDoubleTapWake">true</bool>

    <!-- Default list of files pinned by the Pinner Service -->
    <string-array translatable="false" name="config_defaultPinnerServiceFiles">
        <item>"/system/framework/framework.jar"</item>
        <item>"/system/framework/services.jar"</item>
        <item>"/apex/com.android.art/javalib/core-oj.jar"</item>
        <item>"/apex/com.android.art/javalib/core-libart.jar"</item>
        <item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
        <item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
        <item>"/system/bin/surfaceflinger"</item>
        <item>"/system/lib64/libRScpp.so"</item>
        <item>"/system/lib64/libRS.so"</item>
        <item>"/system/lib64/libRS_internal.so"</item>
        <item>"/system/lib64/libbcinfo.so"</item>
        <item>"/system/lib64/libRSDriver.so"</item>
        <item>"/system/lib64/libRSCpuRef.so"</item>
        <item>"/system/lib64/libblas.so"</item>
    </string-array>

    <!-- Should the pinner service pin the Home application? -->
    <bool name="config_pinnerHomeApp">true</bool>

    <!-- Whether WiFi display is supported by this device.
         There are many prerequisites for this feature to work correctly.
         Here are a few of them:
         * The WiFi radio must support WiFi P2P.
         * The WiFi radio must support concurrent connections to the WiFi display and
           to an access point.
         * The Audio Flinger audio_policy.conf file must specify a rule for the "r_submix"
           remote submix module.  This module is used to record and stream system
           audio output to the WiFi display encoder in the media server.
         * The remote submix module "audio.r_submix.default" must be installed on the device.
         * The device must be provisioned with HDCP keys (for protected content).
    -->
    <bool name="config_enableWifiDisplay">true</bool>

    <!-- Set to true if the wifi display supports compositing content stored
         in gralloc protected buffers.  For this to be true, there must exist
         a protected hardware path for surface flinger to composite and send
         protected buffers to the wifi display video encoder.
         If this flag is false, we advise applications not to use protected
         buffers (if possible) when presenting content to a wifi display because
         the content may be blanked.
         This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
         flag is set for wifi displays.
    -->
    <bool name="config_wifiDisplaySupportsProtectedBuffers">true</bool>

   <!-- The bounding path of the cutout region of the main built-in display.
         Must either be empty if there is no cutout region, or a string that is parsable by
         {@link android.util.PathParser}.
         The path is assumed to be specified in display coordinates with pixel units and in
         the display's native orientation, with the origin of the coordinate system at the
         center top of the display.
         To facilitate writing device-independent emulation overlays, the marker `@dp` can be
         appended after the path string to interpret coordinates in dp instead of px units.
         Note that a physical cutout should be configured in pixels for the best results.
         -->
    <string name="config_mainBuiltInDisplayCutout">M 0,0 H -36 V 91 H 36 V 0 H 0 Z</string>

    <!-- The default refresh rate for a given device. Change this value to set a higher default
         refresh rate. If the hardware composer on the device supports display modes with a higher
         refresh rate than the default value specified here, the framework may use those higher
         refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
         setFrameRate().
         If a non-zero value is set for config_defaultPeakRefreshRate, then
         config_defaultRefreshRate may be set to 0, in which case the value set for
         config_defaultPeakRefreshRate will act as the default frame rate. -->
    <integer name="config_defaultRefreshRate">0</integer>

    <!-- The default peak refresh rate for a given device. Change this value if you want to prevent
         the framework from using higher refresh rates, even if display modes with higher refresh
         rates are available from hardware composer. Only has an effect if the value is
         non-zero. -->
    <integer name="config_defaultPeakRefreshRate">120</integer>

    <!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
         when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
         where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
         and Strength as defined in Authenticators.java -->
    <string-array name="config_biometric_sensors" translatable="false" >
        <!-- ID0:Fingerprint:Strong -->
        <item>0:2:15</item>
    </string-array>

    <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
         on the headphone/microphone jack. When false use the older uevent framework. -->
    <bool name="config_useDevInputEventForAudioJack">true</bool>

    <!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
         is not necessarily the same as the number of phones/logical modems supported by the device.
         For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
         or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
         and one pSIM) -->
    <integer name="config_num_physical_slots">2</integer>

    <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
    <bool name="config_intrusiveNotificationLed">true</bool>

    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
         autodetected from the Configuration. -->
    <bool name="config_showNavigationBar">true</bool>

    <!-- Boolean indicating if restoring network selection should be skipped -->
    <!-- The restoring is handled by modem if it is true-->
    <bool name="skip_restoring_network_selection">true</bool>

    <!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
    <bool name="config_cellBroadcastAppLinks">true</bool>

    <!-- M user agent string -->
    <string name="config_mms_user_agent">Android-Mms/2.0</string>

    <!-- MMS user agent prolfile url -->
    <string name="config_mms_user_agent_profile_url">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>

     <!-- This string array should be overridden by the device to present a list of network
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
         [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet]  -->
    <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
         before automatically restore the default connection.  Set -1 if the connection
         does not require auto-restore. -->
    <!-- the 6th element indicates boot-time dependency-met value. -->
    <string-array name="networkAttributes">
        <item>wifi,1,1,1,-1,true</item>
        <item>mobile,0,0,0,-1,true</item>
        <item>mobile_mms,2,0,4,60000,true</item>
        <item>mobile_supl,3,0,2,60000,true</item>
        <item>mobile_dun,4,0,2,60000,true</item>
        <item>mobile_hipri,5,0,3,60000,true</item>
        <item>mobile_fota,10,0,2,60000,true</item>
        <item>mobile_ims,11,0,2,60000,true</item>
        <item>mobile_cbs,12,0,2,60000,true</item>
        <item>bluetooth,7,7,2,-1,true</item>
        <item>mobile_emergency,15,0,5,-1,true</item>
        <item>ethernet,9,9,9,-1,true</item>
    </string-array>

    <!-- Configure mobile tcp buffer sizes in the form:
         rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
         If no value is found for the rat-name in use, the system default will be applied.
    -->
    <string-array name="config_mobile_tcp_buffers">
        <item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
        <item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
        <item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
        <item>umts:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspap:4094,87380,1220608,4096,16384,1220608</item>
        <item>edge:4093,26280,35040,4096,16384,35040</item>
        <item>gprs:4092,8760,11680,4096,8760,11680</item>
        <item>evdo:4094,87380,524288,4096,16384,262144</item>
    </string-array>

    <!-- This string array should be overridden by the device to present a list of radio
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[ConnectivityManager connectionType],
                      [# simultaneous connection types]"  -->
    <string-array name="radioAttributes">
        <item>"1,1"</item>
        <item>"0,1"</item>
        <item>"7,1"</item>
    </string-array>

    <!-- ComponentName of a dream to show whenever the system would otherwise have
         gone to sleep.  When the PowerManager is asked to go to sleep, it will instead
         try to start this dream if possible.  The dream should typically call startDozing()
         to put the display into a low power state and allow the application processor
         to be suspended.  When the dream ends, the system will go to sleep as usual.
         Specify the component name or an empty string if none.

         Note that doze dreams are not subject to the same start conditions as ordinary dreams.
         Doze dreams will run whenever the power manager is in a dozing state. -->
    <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>

    <!-- Screen brightness used to dim the screen while dozing in a very low power state.
         May be less than the minimum allowed brightness setting
         that can be set by the user. -->
    <integer name="config_screenBrightnessDoze">17</integer>

    <!-- Power Management: Specifies whether to decouple the interactive state of the
         device from the display on/off state.

         When false, setInteractive(..., true) will be called before the display is turned on
         and setInteractive(..., false) will be called after the display is turned off.
         This mode provides best compatibility for devices that expect the interactive
         state to be tied to the display state.

         When true, setInteractive(...) will be called independently of whether the display
         is being turned on or off.  This mode enables the power manager to reduce
         clocks and disable the touch controller while the display is on.

         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.

         Refer to power.h for details.
    -->
    <bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>

    <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
         device from the display on/off state.

         When false, autosuspend_disable() will be called before the display is turned on
         and autosuspend_enable() will be called after the display is turned off.
         This mode provides best compatibility for devices using legacy power management
         features such as early suspend / late resume.

         When true, autosuspend_display() and autosuspend_enable() will be called
         independently of whether the display is being turned on or off.  This mode
         enables the power manager to suspend the application processor while the
         display is on.

         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.

         Refer to autosuspend.h for details.
    -->
    <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>

    <!-- Indicate whether to allow the device to suspend when the screen is off
         due to the proximity sensor.  This resource should only be set to true
         if the sensor HAL correctly handles the proximity sensor as a wake-up source.
         Otherwise, the device may fail to wake out of suspend reliably.
         The default is false. -->
    <bool name="config_suspendWhenScreenOffDueToProximity">false</bool>

    <!-- Flag specifying whether VoLTE is available on device -->
    <bool name="config_device_vt_available">true</bool>

    <!-- Flag specifying whether WFC over IMS is available on device -->
    <bool name="config_device_wfc_ims_available">true</bool>

    <!-- Flag specifying whether VoLTE should be available for carrier: independent of
         carrier provisioning. If false: hard disabled. If true: then depends on carrier
         provisioning, availability etc -->
    <bool name="config_carrier_volte_available">true</bool>

    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
         carrier provisioning. If false: hard disabled. If true: then depends on carrier
         provisioning, availability etc -->
    <bool name="config_carrier_wfc_ims_available">true</bool>

    <!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_data_service_package">vendor.qti.iwlan</string>

    <!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_network_service_package">vendor.qti.iwlan</string>

    <!-- Telephony qualified networks service package name to bind to by default. -->
    <string name="config_qualified_networks_service_package">vendor.qti.iwlan</string>

    <!-- Config determines whether to update phone object when voice registration
         state changes. Voice radio tech change will always trigger an update of
         phone object irrespective of this config -->
    <bool name="config_switch_phone_on_voice_reg_state_change">false</bool>

    <!-- Is the device capable of hot swapping an ICC Card -->
    <bool name="config_hotswapCapable">true</bool>

    <!-- Whether the Unprocessed audio source supports the required frequency range and level -->
    <bool name="config_supportAudioSourceUnprocessed">true</bool>

    <!-- Idle current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_idle_cur_ma">3</integer>

    <!-- Rx current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_rx_cur_ma">20</integer>

    <!-- Tx current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_tx_cur_ma">33</integer>

    <!-- Operating voltage for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_operating_voltage_mv">3700</integer>

    <!-- True if the device supports Sustained Performance Mode-->
    <bool name="config_sustainedPerformanceModeSupported">true</bool>

    <!-- Enables or disables haptic effect when the text insertion/selection handle is moved
         manually by the user. Off by default, since the expected haptic feedback may not be
         available on some devices. -->
    <bool name="config_enableHapticTextHandle">true</bool>

    <!-- Flashlight on power button -->
    <integer name="config_flashlightProximityTimeout">3000</integer>

    <!-- List supported color modes. -->
    <integer-array name="config_availableColorModes">
        <item>0</item> <!-- COLOR_MODE_NATURAL -->
        <item>1</item> <!-- COLOR_MODE_BOOSTED -->
        <item>2</item> <!-- COLOR_MODE_SATURATED -->
    </integer-array>

    <!-- Color mode to use when accessibility transforms are enabled. This color mode must be
     supported by the device, but not necessarily appear in config_availableColorModes. The
     regularly selected color mode will be used if this value is negative. -->
    <integer name="config_accessibilityColorMode">2</integer>

    <!-- The following two arrays specify which color space to use for display composition when a
         certain color mode is active.
         Composition color spaces are defined in android.view.Display.COLOR_MODE_xxx, and color
         modes are defined in ColorDisplayManager.COLOR_MODE_xxx and
         ColorDisplayManager.VENDOR_COLOR_MODE_xxx.
         The color space COLOR_MODE_DEFAULT (0) lets the system select the most appropriate
         composition color space for currently displayed content. Other values (e.g.,
         COLOR_MODE_SRGB) override system selection; these other color spaces must be supported by
         the device for for display composition.
         If a color mode does not have a corresponding color space specified in this array, the
         currently set composition color space will not be modified.-->
    <integer-array name="config_displayCompositionColorModes">
        <item>0</item> <!-- COLOR_MODE_NATURAL   -->
        <item>1</item> <!-- COLOR_MODE_BOOSTED   -->
        <item>2</item> <!-- COLOR_MODE_SATURATED -->
    </integer-array>
    <integer-array name="config_displayCompositionColorSpaces">
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
    </integer-array>

   <!-- Do the battery/notification LEDs support pulsing?
         Used to decide if we show pulse settings -->
   <bool name="config_ledCanPulse">true</bool>

   <!-- Is the battery LED intrusive? Used to decide if there should be a disable option -->
   <bool name="config_intrusiveBatteryLed">true</bool>

   <!-- Does the battery LED support multiple colors?
         Used to decide if the user can change the colors -->
   <bool name="config_multiColorBatteryLed">false</bool>

    <!-- The default journal mode to use use when Write-Ahead Logging is not active.
         Choices are: OFF, DELETE, TRUNCATE, PERSIST and MEMORY.
         PERSIST may improve performance by reducing how often journal blocks are
         reallocated (compared to truncation) resulting in better data block locality
         and less churn of the storage media.
         The PERSIST mode results in data persisting in the journal beyond the life of
         a transaction, so it interacts poorly with SECURE_DELETE. -->
    <string name="db_default_journal_mode">MEMORY</string>

    <!-- The database synchronization mode when using the default journal mode.
         FULL is safest and preserves durability at the cost of extra fsyncs.
         NORMAL also preserves durability in non-WAL modes and uses checksums to ensure
         integrity although there is a small chance that an error might go unnoticed.
         Choices are: FULL, NORMAL, OFF. -->
    <string name="db_default_sync_mode">OFF</string>

    <!-- The database synchronization mode when using Write-Ahead Logging.
         From https://www.sqlite.org/pragma.html#pragma_synchronous:
         WAL mode is safe from corruption with synchronous=NORMAL, and probably DELETE mode is safe
         too on modern filesystems. WAL mode is always consistent with synchronous=NORMAL, but WAL
         mode does lose durability. A transaction committed in WAL mode with
         synchronous=NORMAL might roll back following a power loss or system crash.
         Transactions are durable across application crashes regardless of the synchronous setting
         or journal mode. The synchronous=NORMAL setting is a good choice for most applications
         running in WAL mode.
         Choices are: FULL, NORMAL, OFF. -->
    <string name="db_wal_sync_mode">OFF</string>

    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
    <integer-array name="config_keyboardTapVibePattern">
        <item>10</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about a long screen/key press -->
    <integer-array name="config_longPressVibePattern">
        <item>0</item>
        <item>12</item>
        <item>7</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>12</item>
        <item>7</item>
    </integer-array>

    <!-- Controls the navigation bar interaction mode:
         0: 3 button mode (back, home, overview buttons)
         1: 2 button mode (back, home buttons + swipe up for overview)
         2: gestures only for back, home and overview -->
    <integer name="config_navBarInteractionMode">2</integer>

    <!-- The default intensity level for haptic feedback. See
         Settings.System.HAPTIC_FEEDBACK_INTENSITY more details on the constant values and
         meanings. -->
    <integer name="config_defaultHapticFeedbackIntensity">3</integer>
    <!-- The default intensity level for notification vibrations. See
         Settings.System.NOTIFICATION_VIBRATION_INTENSITY more details on the constant values and
         meanings. -->
    <integer name="config_defaultNotificationVibrationIntensity">3</integer>
    <!-- The default intensity level for notification vibrations. See
         Settings.System.RING_VIBRATION_INTENSITY more details on the constant values and
         meanings. -->
    <integer name="config_defaultRingVibrationIntensity">3</integer>

    <!-- Amount of time it takes for the light sensor to warm up in milliseconds.
         For this time after the screen turns on, the Power Manager
         will not debounce light sensor readings -->
    <integer name="config_lightSensorWarmupTime">200</integer>

    <!-- Delay that allows some content to arrive at the display before switching
         from DOZE to ON, in millis. -->
    <integer name="config_wakeUpDelayDoze">32</integer>

    <!-- reference volume index for music stream to limit headphone volume and display warning -->
    <integer name="config_safe_media_volume_index">17</integer>

    <!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
    <bool name="config_unplugTurnsOnScreen">true</bool>

    <!-- Default value for proximity check on screen wake
     NOTE ! - Enable for devices that have a fast response proximity sensor (ideally < 300ms)-->
    <bool name="config_proximityCheckOnWake">true</bool>
    <integer name="config_proximityCheckTimeout">3000</integer>
    <bool name="config_proximityCheckOnWakeEnabledByDefault">false</bool>

    <!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
    <bool name="config_zramWriteback">true</bool>

    <!-- User activity timeout: Minimum screen off timeout in milliseconds.
         Sets a lower bound for the {@link Settings.System#SCREEN_OFF_TIMEOUT} setting
         which determines how soon the device will go to sleep when there is no
         user activity.
         This value must be greater than zero, otherwise the device will immediately
         fall asleep again as soon as it is awoken.
    -->
    <integer name="config_minimumScreenOffTimeout">7000</integer>

    <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
         in hardware. -->
    <bool name="config_setColorTransformAccelerated">true</bool>

    <!-- If true, the screen can be rotated via the accelerometer in all 4
         rotations as the default behavior. -->
    <bool name="config_allowAllRotations">true</bool>

    <!-- Indicates whether device has a power button fingerprint sensor. -->
    <bool name="config_is_powerbutton_fps" translatable="false">true</bool>
</resources>
